PHP ile bir MySQL veritabanındaki tablolardan 3 farklı yöntemle veri güncelleme işlemi yapabiliriz.
MySQL'de bir tablodaki verileri güncellemek için UPDATE komutu kullanılır. MySQL ile bir tablodaki verileri güncellemek için aşağıdaki komut yapısını kullanabilirsiniz:
UPDATE tablo_adi SET sütun1=değer, sütun2=değer, ... WHERE sütun_adı=değer
UPDATE komutu ile birlikte WHERE tanımlaması yapmadığınız takdirde, tabloda yer alan bütün kayıtlar güncellenir:
UPDATE tablo_adi SET sütun1=değer, sütun2=değer, ...
Buradaki örneklerimizde, daha önce oluşturduğumuz personel adlı tablodaki kayıtlara güncelleme işlemi yapmaya çalışacağız:
1. MySQLi nesneye dayalı yöntem ile
<?php
$sunucu = "localhost";
$kullanici = "kullanıcıadı";
$parola = "parola";
$veritabani = "veritabaniadi";
// Bağlantı oluşturma
$bag = new mysqli($sunucu, $kullanici, $parola, $veritabani);
// Bağlantı kontrolü
if ($bag->connect_error) {
die("Bağlantı hatası: " . $bag->connect_error);
}
// Kayıt silmek için MySQL komutu
$sqlquery = "UPDATE personel SET adi='Mehmet' WHERE id=1";
if ($bag->query($sqlquery) === TRUE) {
echo "Kayıt güncelleme işlemi tamamlandı!";
}
else {
echo "Kayıt güncelleme hatası: " . $bag->error;
}
$bag->close();
?>
Yukarıdaki örnekteki kodlar, veritabanına bağlandıktan sonra, $sqlquery değişkenine kayıt güncellemek için gerekli olan MySQL komut dizisini atar. $sqlquery değişkenini $bag->query() fonksiyonuna parametre olarak geçirip, fonksiyonu çağırarak personel tablosu içinde bulunan ve id sütun değeri 1 olan kaydın adı sütununa 'Mehmet' değerini atar. Hata meydana gelirse, $bag->error değişkeni ile ekrana yazar. $bag->close() fonksiyonu ile bağlantı kapatılır.
2. MySQLi fonksiyonel yöntem ile
<?php
$sunucu = "localhost";
$kullanici = "kullanıcıadı";
$parola = "parola";
$veritabani = "veritabaniadi";
// Bağlantı oluşturma
$bag = mysqli_connect($sunucu, $kullanici, $parola, $veritabani);
// Bağlantı kontrolü
if (!$bag) {
die("Bağlantı hatası: " . mysqli_connect_error());
}
// Kayıt silmek için MySQL komutu
$sqlquery = "UPDATE personel SET adi='Mehmet' WHERE id=1";
if (mysqli_query($bag, $sqlquery)) {
echo "Kayıt güncelleme işlemi tamamlandı!";
}
else {
echo "Kayıt güncelleme hatası: " . mysqli_error($bag);
}
mysqli_close($bag);
?>
Yukarıdaki örnekteki kodlar, bir önceki örnekte nesneye dayalı yöntemle yapılan kayıt güncelleme işlemini fonksiyonel yöntemle gerçekleştirir.
3. PDO yöntemi ile
<?php
$sunucu = "localhost";
$kullanici = "kullanıcıadı";
$parola = "parola";
$veritabani = "veritabaniadi";
try {
$bag = new PDO("mysql:host=$sunucu;dbname=$veritabani", $kullanici, $parola);
// PDO hata modunu istisnaya ayarlama
$bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// MySQL tablo oluşturma komutu
$sqlquery = "UPDATE personel SET adi='Mehmet' WHERE id=1";
$bag->exec($sqlquery);
echo "Kayıt güncelleme işlemi tamamlandı!";
}
catch(PDOException $e) {
echo "Hata: " . $e->getMessage();
}
$bag = null;
?>
Yukarıdaki örnekteki kodlar, bir önceki örnekte fonksiyonel yöntemle yapılan kayıt güncelleme işlemini PDO yöntemi ile gerçekleştirir.